package com.zhangtai.modules.entity.contract;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
	

/**
 * 培训协议人员列表
 *
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2020-10-21 16:30:00
 */
@Data
@TableName("tb_protocol_personnel")
public class ProtocolPersonnelEntity implements Serializable {
	private static final long serialVersionUID = 1L;

			/**
		 * 
		 */
				@TableId
		@JsonDeserialize(using = LongJsonDeserializer.class)
		@JsonSerialize(using = LongJsonSerializer.class)
			private Long id;
			/**
		 * 人员工oid
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long oid;
			/**
		 * 培训学杂费
		 */
			private BigDecimal trainingSpending;
			/**
		 * 往返交通住宿伙食费
		 */
			private BigDecimal trainingFoodSpending;
			/**
		 * 培训费用合计
		 */
			private BigDecimal trainingTotal;
			/**
		 * 服务开始日期
		 */
			private Date serviceStartTime;
			/**
		 * 服务结束日期
		 */
			private Date serviceEndTime;
			/**
		 * 签订状态
			 * export const protocolStatus = [
			 *   { label: '未签订', value: 0 },
			 *   { label: '签订中', value: 1 },
			 *   { label: '生效中', value: 2 },
			 *   { label: '已完成', value: 3 },
			 *   { label: '已终止', value: 4 },
			 *   { label: '线下签署', value: 5 },
			 * ]
		 */
			private Integer status;
			/**
		 * 是否发送 0未发 1 已发
		 */
			private Integer isSend;
			/**
		 * 合同e签宝下载地址
		 */
			private String contractEsignUrl;
			/**
		 * 合同阿里云下载地址
		 */
			private String contractOssUrl;
			/**
		 * 创建时间
		 */
			private Date createTime;
			/**
		 * 0:未删除，1：已删除
		 */
			private Integer isDelete;
	/**
	 * 培训id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long protocolId;

	/**
	 * 部门id
	 */


	@ApiModelProperty(value="部门id",required = false)
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long unitId;

	/**
	 * 公司id
	 */
	@ApiModelProperty(value="公司id",required = false)
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long orgId;
	/**
	 * 职位id
	 */
	@ApiModelProperty(value="职位id",required = false)
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long jobId;

	/**
	 * 流程id
	 */
	private Integer flowId;
	/**
	 * 签订合同日期
	 */
	private Date signedDate;

	/**
	 * 完成或终止日期
	 */
	private Date consummationTime;

	/**
	 * 手动终止原因
	 */
	private String remarks;

	private Integer callBackStatus;

}
